#ifndef __TwShader_H__
#define __TwShader_H__

#include "TwD3DHeaders.h"
#include "TwCamera.h"
#include "TwLight.h"

class TwShader
{
public:
	TwShader();
	virtual ~TwShader();

	virtual bool create(LPCSTR shaderFileName);
	virtual void render(TwCamera* camera);
	
protected:
	virtual bool initialize();
	virtual void renderImp(TwCamera* camera);
	virtual void setShaderClipPlane(TwCamera* camera, bool shaderMode);
	
protected:
	ID3DXEffect*			mEffect;
};

#endif __TwShader_H__